package com.xinqi.modules.prepare.common.dto.data;

import com.xinqi.modules.prepare.common.PrepareLimitConstant;
import com.xinqi.common.base.dto.QuestionBaseDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
 * 备课区测评卷-数据对象
 *
 * @author: linkai
 * @date: 2023/04/12
 */
@Data
@Schema(description = "备课区测评卷-数据对象")
public class PrepareExamPaperData implements Serializable {
    /**
     * 主键
     */
    @Schema(description = "id", example = "")
    private Long id;
    /**
     * 备课区id
     */
    @Schema(description = "备课区id", example = "")
    @NotNull(message = "备课区id不能为空")
    private Long prepareId;
    /**
     * 备课区文件夹id，如果没有默认为空0
     */
    @Schema(description = "备课区文件夹id，如果没有默认为空0", example = "10001")
    @NotNull(message = "备课区文件夹id不能为空")
    private Long folderId;
    /**
     * 名称
     */
    @Schema(description = "名称", example = "语文测评")
    @NotBlank(message = "名称不能为空")
    @Size(max = PrepareLimitConstant.NAME_WORKS_LIMIT, message = "名称不能超过15个字")
    private String name;
    /**
     * 测评卷内容
     */
    @Schema(description = "测评卷内容", example = "该测评较难，10道重点题型")
    @Size(max = PrepareLimitConstant.CONTENT_WORKS_LIMIT, message = "内容不能超过300个字")
    private String content;
    /**
     * 题目内容
     */
    @Schema(description = "题目内容")
    private List<QuestionBaseDTO> questionContent;

}
